Introduction to DDS¶
In the DDS Lecture, we are looking at digital circuits in the context of Integrated Circuit design.
This means, that we are looking at transistors as providers of digital values ‘0’ and ‘1’, and “clusters” of transistors as providers of logic functions, like you have learned studying Boolean Algebra.
We can distinguish two ways to design a digital circuit, either:
- Fully Customised, each logic function being carefully chosen to optimise speed and place.
- Semi Customised, in which case the logic is abstractly described using a computer language, and synthesised to actual Logic functions.
Full Custom designs are useful in highly optimised mixed signal designs, or very high performance circuitry. For example, the following circuit is used in a sensor to convert a radiation signal like Light into a digital quantity:
However, digital circuits are more commonly encountered in complex System on Chips, like microprocessors or data processors. The number of logic functions in such systems can easily scale up to a few hundred millions or billions.
Even simple small control systems would require a lot of efforts to design and ensure correctness. If we have a look at a quite simple System on Chip, like the following mixed signal ASIC:
We can see a digital block of a small size. It is used to interface with the outside world using a small communication protocol. A full custom design would be possible in this case, but still require a long time and careful planning.
Moving up to a complexer type of digital system, we can look at ARM Processors for example. These are sold as Intellectual Property (IP) cores, not as Silicon Device. That means that manufacturers can buy a ready to produce “schematic”, or even an abstract code representation in Verilog language. A few large Silicon device manufacturers are well-know ARM processor resellers, like Texas Instruments (OMAP), Broadcomm (Raspberry boards), ATMEL (ATMEGA) etc…
If we have a look at an ARM Processor’s architecture, and implementation, it is clear that such a System on Chip could hardly be implemented using a simple schematic and simulation.
In this part of the lecture, we are going to focus on Semi Custom designs, and their two major aspects:
- Design and Simulation using an abstract description language like Verilog or VHDL
- Automated technology implementation for an ASIC , also called Semicustom Design Flow
A Word ASIC and FPGA Design Flow
If you have worked with FPGA before, the content of this lecture will appear redundant.
The differences between an FPGA and an ASIC will be detailed during the semester, but to summarize, we can say that FPGAs are configurable ASICs, which contain a lot of hardware resources. ASICs on the contrary are like an empty painting, the design must provide all the system’s components.